Field
The present disclosure relates generally to data systems, and more particularly, to techniques for accelerating the transfer of data across a network.
Background
Current file transfer technologies include the file transfer protocol (FTP). FTP is a protocol that enables a user to retrieve files from a remote location over a TCP/IP network. The user runs an FTP client application on a local computer, and an FTP server program resides on a remote computer. The user logs into the remote FTP server using a login name and password, which the server then authenticates.
In transferring files across the network, standard FTP implementations have limitations that render them unable to effectively utilize the available network bandwidth or to minimize the adverse impact of transmission latencies. For example, a conventional file transfer system using FTP transmits the file as a single stream of data from an FTP server to a requesting client. FTP throughput is consequently limited by the transmission rate of this serial stream. Further, the serial nature of the FTP protocol means that it is typically unable to fill every frame in the stream with data, resulting in unused bandwidth during a file transfer. The FTP protocol also does not account for the type of data being transferred (e.g., raw data versus structured data, etc.) in a manner that would increase transmission efficiency based on different data types. Rather, FTP simply packetizes the data and transmits it over an available time slot. This activity often results in frames having packets with smaller data payloads than otherwise may be possible, causing more latency.
Frame size may also reduce overall FTP throughput because each layer of the network stack adds overhead information to the actual user data. Where smaller data packets are transmitted, more overhead is present. Additionally, the TCP window size parameter defines how much data a transmitter can send at one time. The TCP window as implemented in FTP is generally a fixed value and does not vary based on factors such as network bandwidth or latency. The window size often affects the receiver's link capacity, since it dictates how much data can be transmitted over the link and therefore successfully received at the destination. FTP implementations using acknowledgment (ACK) mode also require that the FTP server await an ACK message or a negative acknowledgement (NACK) for each packet prior to performing any necessary packet retransmissions. This waiting period contributes to additional round-trip latency, further affecting FTP overall throughput.
These and other limitations are addressed in the present disclosure.